約 3,766,104 件
https://w.atwiki.jp/bagpack/pages/18.html
1MB以上のblob型にbindColumnしても1MBで切れる クエリログをみてもプリぺーアドステートメントが実行されてないぞ? エラーが起きても例外を投げてくれないぞ? 持続的接続ってなんぞや? 1MB以上のblob型にbindColumnしても1MBで切れる MYSQL_ATTR_MAX_BUFFER_SIZEがデフォルトでは1MBになっているらしいのでインスタンス生成時に指定しておく。 $db = new PDO("mysql host=$dbhost; dbname=$dbname", DBUSER, DBPASSWD, array(PDO MYSQL_ATTR_MAX_BUFFER_SIZE= 1024*1024*10)); クエリログをみてもプリぺーアドステートメントが実行されてないぞ? デフォルトだとPHP側でプリペアードステートメントをエミュレートしている。 サーバーサイドプリペアードステートメントを使うには、 $dbh = new PDO( mysql host=localhost;dbname=sandbox;charset=cp932 , sandbox , sandbox , array( PDO ATTR_EMULATE_PREPARES = false, )); エラーが起きても例外を投げてくれないぞ? デフォルトだと投げない設定になっている模様。 $pdo- setAttribute(PDO ATTR_ERRMODE, PDO ERRMODE_EXCEPTION); 持続的接続ってなんぞや?
https://w.atwiki.jp/takaidohigasi/pages/16.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.4 MySQL 5.5の変更点 ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html スケーラビリティーの改善 InnoDB I/Oサブシステムの変更 診断・モニタ機能 Solalisのサポート拡張 本章では、MySQL 5.5で何が出来るようになり、何がなくなったのかについてまとめます 新規機能 以下の機能ががMySQL5.5にて加えられました スレッドプーリング MySQLサーバでの標準のスレッドハンドリングモデルは、クライアントのコネクションごとにスレッドを1つたて、ステートメントを実行します。多くのクライアントがサーバに接続し、ステートメントを実行するようになるにつれ、全体の性能が低下します。MySQLの商用版である、MySQL 5.5.16では、スレッドプールプラグインがあり、それによってオーバーヘッドを減らしパフォーマンスを改善するように設計されたスレッドハンドリングのモデルが従来のものの替わりに利用できるよう、提供されています。プラグインはスレッドプールを実装しており、多数のクライアント接続があった場合のステートメント実行スレッドを効率的にさばくことにより、サーバのパフォーマンスを向上させています。詳細の情報に関しては、8.11.6章のスレッドプールプラグインを参照してください。 認証の接続 ( Pluggable Authentication ) MySQLの認証は、新たに2つの方法(pluggable authenticationおよびプロキシユーザ機能)をサポートしています。pluggable authenticationでは、サーバーは外部からのクライアント接続に対する認証のプラグインを利用することが出来、クライアントは対応するサーバーのプラグインと適切に動作する認証プラグインをロード出来ます。これによって、クライアントがMySQLサーバに、MySQLのビルトインの認証(mysql.userテーブルに格納されているネイティブのMySQLパスワードベースのもの)以外の適切な認証方法のクレデンシャルで接続できます。例えば、LDAP,Kerberos,PAMまたはWindowsログインIDなどの外部の認証方法の利用の為のプラグイン利用が考えられます。プロキシユーザ機能は、1ユーザとして認証し接続したクライアントが、接続中のアクセス制御の為に、異なるユーザの権限を持つように出来る機能です。実際に、1ユーザがもう片方のユーザを装います。詳細は6.3.6章のPluggable Authenticationおよび、6.3.7章のプロキシユーザを参照してください。 商用配布バージョンのMySQL5.5.16には、外部の認証を用いてMySQLのユーザ認証を可能にする2つのプラグインがあります。 PAM(Pluggable Authentication Modules)は、システムが標準のインターフェースで様々な認証方にアクセス出来るようにします。PAM認証プラグインは、MySQLサーバにMySQLユーザの認証用にMySQLサーバがPAMを利用できる機能を提供します。 Windows版のMySQLでは、MySQLサーバが、クライアント接続の認証にネイティブWindowsサービスを利用できる認証プラグインがあります。Windowsにログインしているユーザは、MySQLクライアントプログラムから追加のパスワードを利用することなく、ログイン環境での情報に基づいてサーバに接続できます。 これらの認証プラグインによって、MySQLサーバがMySQL権限テーブル以外で定義されたユーザからの接続が出来るようになり、またMySQLプロキシユーザ機能もサポートします。各プラグインがログインユーザと異なるユーザ名を返し、 これはプラグインが外部で認証されたユーザが持つべき権限を明確に定めたMySQLユーザを返せることを意味します。 詳細な情報は、6.3.6.2章の「PAM認証プラグイン」および6.3.6.3章の「Windowsネイティブ認証プラグイン」を参照してください。 マルチコアに対するスケーラビリティー マルチコアCPUのスケーラビリティーが改善されています。 現在のハードウェア開発のトレンドはCPUのクロック数を改善し続けるというよりは、コア数を増やすという方向に向かっています。CPUが速くなるまで待つことで、データベースの性能を向上させるということではたちゆかなくなりました。その代わりに、マルチコアが利用可能なプロセスサイクルを最大限に利用できるようにすることが必要となっています。MySQL5.5はSMPシステムの特徴の利点を生かし、マルチコアを最大限に活用する阻害となるMySQLアーキテクチャのボトルネックを取り除こうとしています。これはInnoDB、とりわけロックとメモリの管理に焦点をあてたものです。詳細は1.4.1章の「スケーラビリティーの改善」を参照して下さい。 InnoDB I/Oサブシステム InnoDB I/Oサブシステムは、利用可能なI/Oをより有効に活用出来るように変わりました。 詳細は1.4.2章の「InnoDB I/Oサブシステム変更点」を参照してください。 診断機能の向上 実行・性能情報へのアクセスが改善されました。 診断機能の向上には、パフォーマンススキーマ(MySQLサーバの実行をローレベルでモニタする為のもの)や、DTraceプローブ、SHOW ENGINE INNODB STATUSの出力拡張、デバッグ同期、そして新たなステータス変数があります。 詳細は、1.4.3章の「診断・モニタ機能」を参照してください。 Solaris いくつかの修正でSolalis上でのMySQLサーバの操作方法が改善されました。 詳細は1.4.4章の「Solarisの拡張サポート」を参照してください。 デフォルトストレージエンジン 新規テーブルのデフォルトストレージエンジンは、MYISAMではなくInnoDBです。 詳細は14.3.1章の「MySQLデフォルトストレージエンジン InnoDB」を参照してください。 MySQLクラスター MySQLクラスターは、MySQL5.5ベースのNDBストレージエンジンの新規開発版であるバージョン7.2で、別の商品としてリリースされています。 クラスタリングの機能は主流のMySQLサーバ5.5のリリースでは利用できません。MySQLクラスターNDB7.2に関する詳細な情報は、17章の「MySQLクラスター NDB7.2」を参照してください。 MySQLクラスターのリリースは、3パートのNDBバージョン番号で判別可能です。現在はMySQLクラスターNDB7.1が最新の安定版(GA General Available)です。 MySQLクラスターNDB6.3とMySQLクラスターNDB7.0も利用可能です。これらのバージョンのMySQLクラスターはMySQLサーバ5.1ベースで、MySQL5.1のマニュアルにドキュメントが記載されています。詳細はMySQLクラスターNDB 6.1-7.1を参照してください。 準同期レプリケーション マスターで実施されたコミットは、少なくとも1つのスレーブがトランザクションイベントを受取り、ログを生成し終えたと確認し終わるまで、ブロックされます。 準同期レプリケーションンは、オプションのプラグインコンポーネントとして実装されています。詳細は、16.3.8章の「準同期レプリケーション」を参照してください。 Unicodeのサポート ユニコード文字の追加対応が行われました。BMP(標準多言語水準)以外の文字への対応です。これらの新しいユニコード文字セットには、utf16,utf32,そしてutf8mb4といった補助的な文字があります。詳細は、10.1.10章の「Unicodeサポート」を参照してください。 パーティショニング テーブルパーティショニング機能が拡張されました。 2つの新型のユーザー定義パーティショニグ手法がサポートされました。レンジカラムパーティショニングは、レンジパーティショニングの拡張で、リストカラムパーティショニングはリストパーティショニングの拡張です。それぞれが、MySQLのパーティショニング機能の拡張になります。 パーティショニングレンジあるいはパーティショニグリストをDATE, DATETIMEもしくはstring値(CHARやVARCHARなど)に基づいて定義することが可能です。レンジカラムか、リストカラムによってテーブルがパーティショニングされた場合は、レンジやリストは、複数列値で定義することが出来ます。これらのレンジあるいはリストは、16列まで対応しています。 これらのパーティショニング型を利用して定義されたテーブルに対し、パーティショニングプルーニングは(異なる)列値と定数の複数比較しているWHERE区のクエリを最適化することが出来ます。例えば、a = 10 AND b 5や、a "2005-11-25" AND b = 10 AND c = 50がその例となります。 詳細は、18.2.1の「レンジパーティショニング」、18.2.2の「リストパーティショノング」を参照して下さい。 ALTER TABLE ... TRUNCALTE PARTITIONステートメントを使ったパーティションテーブルの、1つ以上のパーティションから全ての行を削除可能となりました。このステートメントを実行すると、テーブルの構造に影響を与えずに行の削除を行います。TRUNCATE PARTITION節のパーティションは、連続である必要はありません。 パーティショニングされたMyISAMテーブル(CACHE INDEXとLOAD INTO CACHEステートメントを使ったテーブル)のインデクスへのキーキャッシュがサポートされています。また、キーキャッシュは全パーティションテーブルのインデクスがロードされるか、1つ以上のパーティションのインデクスがロードされた際に定義されます。後者ではパーティションは連続である必要はありません。 新たな TO_SECONDS()関数は、DATEまたはDATETIME表記を0年からの秒数の数値に変換します。これは、一般の関数ですが、パーティショニングに有用です。 パーティショニングの表記に恐らく利用され、そうすればパーティショニングプルーニングがこれらの表現を定義したテーブルをサポートします シグナル/リシグナル SQL標準のSIGNALとRESIGNALステートメントをサポートします。詳細は13.6.7章の「コンディショニングハンドリング」を参照してください IPv6サポート MySQLサーバはIPv6で接続するクライアントからのTCP/IPコネクションを許可できます。詳細は5.1.8章の「IPv6サポート」を参照してください XML 新規のLOAD XML INFILEステートメントなどのXML機能の拡張。詳細は13.2.7章「LOAD XML Syntax」を参照してください。 ビルトコンフィギュレーション MySQLリリースはGNUオートツールではなく、CMakeを使ってビルとされています。それに伴い、ソースコードからのMySQLインストールマニュアルが、CMakeをどう使ってMySQLをビルドするかを記載するように更新されました。詳細は2.9章の「MySQLのソースコードからのインストール」を参照してください。 ビルドは、Windowsを含め、全てのプラットフォーム上で同様に扱うことが出来、特定のプラットフォーム用の記載をする章はもうなくなりました。 廃止された機能 以下の構文が廃止され、MySQL5.5から削除されました。代替構文が示されている個所については、アプリケーションを修正する必要があります。 The language system variable (use lc_messages_dir and lc_messages). The log_bin_trust_routine_creators system variable (use log_bin_trust_function_creators). The myisam_max_extra_sort_file_size system variable. The record_buffer system variable (use read_buffer_size). The sql_log_update system variable. The Innodb_buffer_pool_read_ahead_rnd and Innodb_buffer_pool_read_ahead_seq status variables (use Innodb_buffer_pool_read_ahead and -Innodb_buffer_pool_read_ahead_evicted). The table_type system variable (use storage_engine). The FRAC_SECOND modifier for the TIMESTAMPADD() function (use MICROSECOND). The TYPE table option to specify the storage engine for CREATE TABLE or ALTER TABLE (use ENGINE). The SHOW TABLE TYPES SQL statement (use SHOW ENGINES). The SHOW INNODB STATUS and SHOW MUTEX STATUS SQL statements (use SHOW ENGINE INNODB STATUS and SHOW ENGINE INNODB MUTEX). The SHOW PLUGIN SQL statement (use SHOW PLUGINS). The LOAD TABLE ... FROM MASTER and LOAD DATA FROM MASTER SQL statements (use mysqldump or mysqlhotcopy to dump tables and mysql to reload dump files). The BACKUP TABLE and RESTORE TABLE SQL statements (use mysqldump or mysqlhotcopy to dump tables and mysql to reload dump files). TIMESTAMP(N) data type The ability to specify a display width of N (use without N). The --default-character-set and --default-collation server options (use --character-s-et-server and --collation-server). The --default-table-type server option (use --default-storage-engine). The --delay-key-write-for-all-tables server option (use --delay-key-write=ALL). The --enable-locking and --skip-locking server options (use --external-locking and --skip-external-locking). The --log-bin-trust-routine-creators server option (use --log-bin-trust-function-creators). The --log-long-format server option. The --log-update server option. The --master-xxx server options to set replication parameters (use the CHANGE MASTER TO statement instead) --master-host, --master-user, --master-password, --master-port, --master-connect-retry, --master-ssl, --master-ssl-ca, --master-ssl-capath, --master-ssl-cert, --master-ssl-cipher, --master-ssl-key. The --safe-show-database server option. The --skip-symlink and --use-symbolic-links server options (use --skip-symbolic-links and --symbolic-links). The --sql-bin-update-same server option. The --warnings server option (use --log-warnings). The --no-named-commands option for mysql (use --skip-named-commands). The --no-pager option for mysql (use --skip-pager). The --no-tee option for mysql (use --skip-tee). The --position option for mysqlbinlog (use --start-position). The --all option for mysqldump (use --create-options). The --first-slave option for mysqldump (use --lock-all-tables). The --config-file option for mysqld_multi (use --defaults-extra-file). The --set-variable=var_name=value and -O var_name=value general-purpose options for setting program variables (use --var_name=value). The --with-pstack option for configure and the --enable-pstack option for mysqld.
https://w.atwiki.jp/takaidohigasi/pages/24.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.3 MySQL DBMS(データベース管理システム)の概要 1.3.1 MySQLって何? ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/what-is-mysql.html MySQLって何? MySQL は最もよく知られているオープンソース SQL データベース管理システムで、Oracle社によって開発、提供、サポートが行われています MySQL の Web サイト(http //www.mysql.com/)には、MySQL ソフトウェア関する最新情報が掲載されています。 MySQL はデータベース管理システムです。 データベースとは、構造化されたデータの集合です。データベースには、簡単なショッピングリストから絵画のギャラリー、または社内ネットワークの膨大な量の情報など、さまざまなものがあります。コンピュータデータベースに格納されているデータに対して追加、アクセス、および処理などを行うには、MySQL サーバのようなデータベース管理システムが必要となります。コンピュータは大量のデータの処理に非常に優れているので、データベース管理システムは、スタンドアロンのユーティリティまたは他のアプリケーションの一部として、データ処理の中心的な役割を果たします。 MySQL はリレーショナルデータベースです。 リレーショナルデータベースでは、1つの大きな保管領域にすべてのデータが格納されるのではなく、個別のテーブルにデータが格納されます。データベースの構造は、速度を最適化するように物理的ファイルが構成されます。データベース、テーブル、ビュー、行、列といったオブジェクトを持つ論理モデルとして持つので、柔軟にプログラミング出来る環境を提供します。異なるデータフィールドのリレーションのルール、(1対1、1対多、ユニーク、必須またはオプション、違うテーブルとの間の「ポインタ」)はあなたがセットアップします。データベースはデータベースをちゃんと設計した場合に、アプリケーションデータに非一貫性、重複、孤立、更新遅れ、ロストを一切起こさせないために、このルールを遵守します。 「MySQL」 の SQL は「Structured Query Language」 を表します。SQL はデータベースへのアクセスに使用される最も一般的な標準化言語です。プログラミング環境に応じて、SQLを直接(例えば、レポートを作る為に)使ったり、違う言語で書いた埋込みSQLをコードの中で使ったり、SQLの書き方をを隠ぺいした言語固有のAPIを使用するでしょう。 SQLは、ANSI/ISO SQL 標準によって定義されています。SQL 標準は 1986 年以降開発が繰り返され、複数のバージョンがあります。本マニュアルでは、「SQL-92」 は 1992年にリリースされた標準に、「SQL 1999」 は 1999年にリリースされた標準に、そして 「SQL 2003」 は標準の現バージョンに対応しています。「the SQL standard」 という用語は、任意の時点における現行バージョンの SQL 標準を表す場合に使用します。 MySQL ソフトウェアはオープンソースです。 オープン ソースとは、だれもがそのソフトウェアを使用し、変更できることを意味します。MySQL ソフトウェアは、だれもが無料でインターネットからダウンロードし、使用することができます。必要に応じて、ソース コードを調べ、ニーズに合わせて変更することができます。MySQL ソフトウェアでは、GPL(GNU 一般公衆利用許諾契約書,http //www.fsf.org/licenses/)に基づいて、さまざまな状況でのソフトウェアの使用において許可されている事項と禁止されている事項が規定されています。GPL では不都合な場合や商用アプリケーションに MySQL コードを組み込む必要がある場合は、商用ライセンス版を購入することができます。詳しくは MySQL ライセンスを参照してください。(http //www.mysql.com/company/legal/licensing/) MySQL データベース サーバ は、非常に高速で信頼性があり、スケーラブルで、簡単に使用することができます。 それを求めていたのでしたら、ぜひ試してください。MySQL サーバはデスクトップやラップトップで、他のアプリケーションや、ウェブサーバ等のシステムと共に、ほとんど気を使うことなく利用できます。マシンをMySQL専門に使う時は、メモリ、CPU、I/O性能を生かすために設定を調整することが出来ます。MySQLはマシンのクラスタ用にスケールアップ可能ですし、同時にネットワーク化できます。 ベンチマークページには、他のデータベース管理システムと MySQL サーバのパフォーマンスを比較に関する情報があります。詳細は、8.12.2章 「MySQL ベンチマークスィート」 を参照してください。 MySQL サーバは当初、既存のソリューションよりもはるかに速く大規模なデータベースを処理することを目的として開発され、多くを要求される運用環境で数年間にわたって使用されています。引き続き開発が行われていますが、MySQL サーバは現在、便利で多彩な機能を備えています。その接続性、速度、安全性によって、MySQL サーバはインターネット上のデータベースへのアクセスに非常に適しています。 MySQL サーバはクライアント/サーバもしくは組み込まれたシステムで動きます。 MySQL データベースソフトウェア は、さまざまなバックエンドをサポートするマルチスレッド形式の SQL サーバ、複数の異なるクライアントプログラムおよびライブラリ、管理ツール、幅広いアプリケーションプログラミングインタフェース(API)から成るクライアント/サーバシステムです。 また、MySQL サーバはアプリケーションへのリンクが可能なマルチスレッド ライブラリとして提供されており、さらに小規模で高速な、管理しやすいスタンドアロンの製品を作り出すことができます。 MySQL をサポートする多数のソフトウェアが提供されています。 MySQL サーバには、ユーザと密接に協力して開発された実用的な機能が備わっています。 必要なアプリケーションや言語ですでに MySQL データベース サーバがサポートされていると思われます。 「MySQL」 の正式な発音は 「My Ess Que Ell」 ですが(「my sequel」 ではありません)、「my sequel」 と発音したり、ローカライズされた他の方法で発音してもかまいません。
https://w.atwiki.jp/takaidohigasi/pages/28.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.5 MySQL の開発ロードマップ ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/development-history.html MySQL の開発の歴史 この章ではMySQLの開発の歴史について述べ、このマニュアルでカバーされるMySQL 5.5、およびそれ以前のバージョンで実装されてきた機能の概要を記します。 本バージョンにおける成熟レベルは、一般利用レベル(商用)です。成熟レベルに関する情報に関しては、2.1.2.1章の「どのバージョンのMySQLをインストールするか選ぶ」を参照してください。 あるバージョンから次のバージョンにアップグレードする際には、2.11.1章の「MySQL のアップグレード」を参照してください。 もっとも必要とされている機能と、その機能が実装されたバージョンについて、下記にまとめました。 機能 MySQLバージョン 和結合(Unions) 4.0 サブクエリ(Subqueries) 4.1 R木(R-trees) 4.1 (for the MyISAM storage engine) ストアドプロシージャ/ストアドファンクション(Stored procedures and functions) 5.0 ビュー(Views) 5.0 カーソル(Cursors) 5.0 XAトランザクション(XA transactions) 5.0 トリガ(Triggers) 5.0 and 5.1 イベントスケジューラ(Event scheduler) 5.1 パーティショニング(Partitioning) 5.1 Pluggable storage engine API 5.1 プラグインAPI(Plugin API) 5.1 InnoDBプラグイン(InnoDB Plugin) 5.1 行ベースレプリケーション(Row-based replication) 5.1 サーバーログテーブル(Server log tables) 5.1 スケーラビリティー・性能改善(Scalability and performance improvements) 5.1 (with InnoDB Plugin) DTraceのサポート(DTrace support) 5.5 InnoDBのデフォルトストレージエンジン化(InnoDB as default storage engine) 5.5 準同期レプリケーション(Semisynchronous replication) 5.5 ストアドルーチンのSIGNAL/RESIGNALのサポート(SIGNAL/RESIGNAL support in stored routines) 5.5 パフォーマンススキーマ(Performance Schema) 5.5 追加ユニコード文字サポート(Supplementary Unicode characters) 5.5
https://w.atwiki.jp/macdemysql6/pages/12.html
MySQL6 のインストール MySQL6.0.11編 MySQL6 コンパイルパラメータ 最低限のコンパイルパラメータを設定。utf8とFalconは個人的に外せない。 siro ~/Unix/build/mysql-6.0.11-alpha Pipin$ less config.log siro ~/Unix/build/mysql-6.0.11-alpha Pipin$ head -10 config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by MySQL Server configure 6.0.11-alpha, which was generated by GNU Autoconf 2.63. Invocation command line was $ ./configure --prefix=/usr/local/mysql6 --with-charset=utf8 --with-extra-charsets=all --with-plugins=falcon,csv,innobase,myisam,partition post-install まずはとにかく権限テーブル等を作成するプログラムをインストール後(mysql起動前)に実行する。ルート権限ディレクトリで実行したりすると後々問題がでるので、取り敢えずは一般ユーザ想定環境で実行。 siro /usr/local/mysql6/bin Pipin$ pwd /usr/local/mysql6/bin siro /usr/local/mysql6/bin Pipin$ ./mysql_install_db Installing MySQL system tables... MySQL の起動 mysql_install_dbが正常に処理されると、mysqlが起動可能になるはず。起動時にいろいろ怪しいメッセージがでるが取り敢えずは無視をして進める。 siro /usr/local/mysql6/bin Pipin$ ./mysqld_safe [1] 23668 siro /usr/local/mysql6/bin Pipin$ 090523 10 39 01 mysqld_safe Logging to /usr/local/mysql6/var/siro.local.err . chown /usr/local/mysql6/var/siro.local.err Operation not permitted 090523 10 39 01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql6/var MySQL にインストールされているストレージエンジンを確認する mysql show ENGINES ; Engine Support Comment Transactions XA Savepoints CSV YES CSV storage engine NO NO NO MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO MyISAM DEFAULT Default engine as of MySQL 3.23 with great performance NO NO NO Falcon YES Falcon storage engine YES NO YES InnoDB YES Supports transactions, row-level locking, and foreign keys YES YES YES MEMORY YES Hash based, stored in memory, useful for temporary tables NO NO NO MySQL操作用の便利ユーザを追加する(usernameは mysql とする) mysql GRANT ALL PRIVILEGES ON *.* TO mysql @ localhost IDENTIFIED BY mysql WITH GRANT OPTION; mysql FLUSH PRIVILEGES; ユーザが追加されているか確認する mysql select Host, User, Grant_priv from mysql.user where User= mysql ; Host User Grant_priv localhost mysql Y 外部SQLファイルを実行する siro ~/Unix/mysql Pipin$ mysql cre_gbase.sql -u mysql -p mysqldumpでバックアップ (BLOBあり) siro ~/Unix/mysql/work Pipin$ mysqldump -u root --hex-blob DATABASE /Volumes/ST320/Restore/mysql_backup.sql BLOBイメージをファイルに出力する BLOBを取り出す。innoエンジンだけどさ、遅すぎない。多分TBLスペースをフルスキャンしているのでは。 mysql select IMAGE from DATATABLE where SERIAL_NUMBER = 2794 INTO DUMPFILE "/Users/Pipin/Unix/mysql/st.zip"; Query OK, 1 row affected (4 min 2.92 sec)
https://w.atwiki.jp/takaidohigasi/pages/25.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 1. 一般情報 1.3 MySQL DBMS(データベース管理システム)の概要 1.3.2 MySQLの主な特徴 ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/features.html MySQLの主な特徴 under construction
https://w.atwiki.jp/takaidohigasi/pages/29.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 2. MySQLのインストールおよびアップグレード ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/installing.html MySQLのインストールおよびアップグレード 目次 2.1. 共通インストールガイド 2.2. Installing MySQL from Generic Binaries on Unix/Linux 2.3. Installing MySQL on Microsoft Windows [+/-] 2.4. Installing MySQL on Mac OS X [+/-] 2.5. Installing MySQL on Linux [+/-] 2.6. Installing MySQL on Solaris and OpenSolaris [+/-] 2.7. Installing MySQL on HP-UX [+/-] 2.8. Installing MySQL on FreeBSD 2.9. Installing MySQL from Source [+/-] 2.10. Postinstallation Setup and Testing [+/-] 2.11. Upgrading or Downgrading MySQL [+/-] 2.12. Environment Variables 2.13. Perl Installation Notes [+/-] This chapter describes how to obtain and install MySQL. A summary of the procedure follows and later sections provide the details. If you plan to upgrade an existing version of MySQL to a newer version rather than install MySQL for the first time, see Section 2.11.1, “Upgrading MySQL”, for information about upgrade procedures and about issues that you should consider before upgrading. If you are interested in migrating to MySQL from another database system, you may wish to read Section B.8, “MySQL 5.5 FAQ Migration”, which contains answers to some common questions concerning migration issues. Determine whether MySQL runs and is supported on your platform. Please note that not all platforms are equally suitable for running MySQL, and that not all platforms on which MySQL is known to run are officially supported by Oracle Corporation Choose which distribution to install. Several versions of MySQL are available, and most are available in several distribution formats. You can choose from pre-packaged distributions containing binary (precompiled) programs or source code. When in doubt, use a binary distribution. We also provide public access to our current source tree for those who want to see our most recent developments and help us test new code. To determine which version and type of distribution you should use, see Section 2.1.2, “Choosing Which MySQL Distribution to Install”. Download the distribution that you want to install. For instructions, see Section 2.1.3, “How to Get MySQL”. To verify the integrity of the distribution, use the instructions in Section 2.1.4, “Verifying Package Integrity Using MD5 Checksums or GnuPG”. Install the distribution. To install MySQL from a binary distribution, use the instructions in Section 2.2, “Installing MySQL from Generic Binaries on Unix/Linux”. To install MySQL from a source distribution or from the current development source tree, use the instructions in Section 2.9, “Installing MySQL from Source”. Perform any necessary postinstallation setup. After installing MySQL, read Section 2.10, “Postinstallation Setup and Testing”. This section contains important information about making sure the MySQL server is working properly. It also describes how to secure the initial MySQL user accounts, which have no passwords until you assign passwords. The section applies whether you install MySQL using a binary or source distribution. If you want to run the MySQL benchmark scripts, Perl support for MySQL must be available. See Section 2.13, “Perl Installation Notes”. Instructions for installing MySQL on different platforms and environments is available on a platform by platform basis Unix, Linux, FreeBSD For instructions on installing MySQL on most Linux and Unix platforms using a generic binary (for example, a .tar.gz package), see Section 2.2, “Installing MySQL from Generic Binaries on Unix/Linux”. For information on building MySQL entirely from the source code distributions or the source code repositories, see Section 2.9, “Installing MySQL from Source” For specific platform help on installation, configuration, and building from source see the corresponding platform section Linux, including notes on distribution specific methods, see Section 2.5, “Installing MySQL on Linux”. Solaris and OpenSolaris, including PKG and IPS formats, see Section 2.6, “Installing MySQL on Solaris and OpenSolaris”. IBM AIX, see Section 2.6, “Installing MySQL on Solaris and OpenSolaris”. Hewlett-Packard HP-UX, including the DEPOT package format, see Section 2.7, “Installing MySQL on HP-UX”. FreeBSD, see Section 2.8, “Installing MySQL on FreeBSD”. Microsoft Windows For instructions on installing MySQL on Microsoft Windows, using either a Zipped binary or an MSI package, see Section 2.3, “Installing MySQL on Microsoft Windows”. For information on using the MySQL Server Instance Config Wizard, see Section 2.3.5, “MySQL Server Instance Configuration Wizard”. For details and instructions on building MySQL from source code using Microsoft Visual Studio, see Section 2.9, “Installing MySQL from Source”. Mac OS X For installation on Mac OS X, including using both the binary package and native PKG formats, see Section 2.4, “Installing MySQL on Mac OS X”. For information on making use of the MySQL Startup Item to automatically start and stop MySQL, see Section 2.4.3, “Installing the MySQL Startup Item”. For information on the MySQL Preference Pane, see Section 2.4.4, “Installing and Using the MySQL Preference Pane”. IBM i5/OS
https://w.atwiki.jp/takaidohigasi/pages/31.html
- 人目 ( ̄ー ̄)/~~ アリガトネ MySQL5.5 リファレンス 2. MySQLのインストールおよびアップグレード 2.1 共通インストールガイド 2.1.1 MySQL Community ServerでサポートされるOS ORIGINAL http //dev.mysql.com/doc/refman/5.5/en/supported-os.html MySQL Community ServerでサポートされるOS この節では、MySQLが動作することが確認されているOSについてリストアップします。 重要 オラクル社は、必ずしもこの節に記載の全てのプラットフォームの公式サポートをしておりません。公式にサポートされているプラットフォームに関しては、MySQLウェブサイトの[[http //www.mysql.com/support/supportedplatforms.htm]]をご覧ください。 我々は、MySQLを現代のC++コンパイラがあり、POSIXスレッドが動作する全てのシステム上で動くようにするために、CMakeを使っています(スレッド機能のサポートはサーバーには必須です。クライアントコードをコンパイルするだけなら、C++コンパイラだけ必要となります)。 MySQLは、下記のOSとスレッドのパッケージで正常にコンパイル出来ることが報告されています。 ネイティブスレッド機能があるFreeBSD 5.x 以上。詳細は2.8節の「MySQLのFreeBSDへのインストール」を参照。 ネイティブスレッド機能があるHP-UX 11.x。詳細は2.8節の「MySQLのHP-UXへのインストール」を参照。 Linux。2.6カーネルに基づいた近年の全てのディストリビューション。詳細は2.5節の「MySQLのLinuxへのインストール」を参照。 Max OS X。詳細は「MySQLのMax OS Xへのインストール」 ネイティブスレッドへのサポートがあるSPARCおよびx86上のSolaris 2.8。詳細は2.6節MySQLのSolarisおよびOpenSolarisへのインストールを参照。 Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008。詳細は2.3節の、「MySQLのMicrosoft Windowsへのインストール」を参照 過去のバージョンでは、他のシステムでも稼働が確認されています。詳細は2.1節の「共通インストールガイド」を参照してください。これらのシステムに現在のバージョンを移行するにはいくつか苦労する点があるかもしれません。 全ての環境がMySQLを動かすのに等しく適しているというわけではありません。あるプラットフォームが負荷の高いミッションクリティカルなMySQLサーバーにどの程度適しているかは、下記の要素で決まります。 スレッドライブラリの安定性。 A platform may have an excellent reputation otherwise, but MySQL is only as stable as the thread library it calls, even if everything else is perfect. カーネル・スレッドライブラリが、SMP(symmetric multi-processor)システムの利点をどの程度活かせるか。言い換えれば、プロセスがスレッドを生成した時、そのスレッドが元のプロセスと違うCPUでさばけること カーネル・スレッドのライブラリが、mutex獲得・解放をコンテキストを過剰に変えることなく、。pthread_mutex_lock()の実装がCPU時間に依存しすぎるならば、MySQLの性能を大きく損ないます。この問題が考慮されない場合は、CPUを増やすことが、MySQLを遅くすることにつながります。 The capability of the kernel and the thread library to run many threads that acquire and release a mutex over a short critical region frequently without excessive context switches. If the implementation of pthread_mutex_lock() is too anxious to yield CPU time, this hurts MySQL tremendously. If this issue is not taken care of, adding extra CPUs actually makes MySQL slower. ファイルシステムの安定性及び性能. テーブルサイズ。もしテーブルが大きければ、ファイルシステムが大きいファイルを効率的に扱えるかどうかが性能に影響します。 オラクル社がそのプラットフォームにどの位熟練しているか。知っているプラットフォームに関しては、プラットフォーム特有の最適化をコンパイル時に行っています。MySQLのコンフィグを最適化する方法についてもアドバイス出来ます。 我々が内部で 同様のコンフィギュレーションでテストをしたことがある回数 同じようなコンフィグでうまく動いているMySQLのユーザ数。この数字が大きければ、プラットフォーム特有の問題に直面する可能性は低くなります。
https://w.atwiki.jp/tmogmni/pages/3.html
インストール Smarty 動くかテスト Smarty セットアップ用のクラスを作成 Smarty セットアップ用のクラスを作成その2 Shift_JISでテンプレート作成時に文字化け html_optionsでlabel属性がついてしまう smartyの関数メモ サーバにアップしたら画面が表示されないエラー インストール (ApacheとPHPが既にインストールされているという前提) Smarty本体を http //smarty.php.net/ からダウンロード。ダウンロードしたファイル(Smarty-x.x.x.tar.gz)を解凍すると以下のファイルができあがる。 [ディレクトリ] demo libs←これのみ必要 misc unit_test [ファイル] COPYING.lib BUGS ChangeLog FAQ INSTALL NEWS QUICK_START README RELEASE_NOTES TODO PHPインストールフォルダ以下にSmartyを置くフォルダを作成。(ここでは c \php\lib\Smarty とする) 解凍したlibs以下のファイル・フォルダ全てをc \php\lib\Smarty以下にコピーする。この時点でのフォルダ構成は以下。 c \php\lib\Smarty ∟ internals(ディレクトリ) plugins(ディレクトリ) Config_File.class.php Smarty.class.php Smarty_Compiler.class.php debug.tpl php.iniファイルに以下のパスを記述して上書き保存。 include_path = ".;c \php\lib\Smarty" Apacheを再起動して完了。 Smarty 動くかテスト Apacheのドキュメントルート以下にSmartyテスト用フォルダを作成(ここでは SmartyTest とする)。SmartyTestフォルダに以下のフォルダとファイルを作成。 注)本来はセキュリティを考慮して下記4つのディレクトリはApacheのドキュメントルート以外に置いたほうがよい。もし置くなら、.htaccessファイルなどでwebから直接参照できないようにしておいたほうが吉。 [フォルダ構成] htdocs\SmartyTest ∟index.php cache(ディレクトリ) config(ディレクトリ) templates_c(ディレクトリ) templates(ディレクトリ) ∟sample.tpl [index.phpの内容] ?php //Smartyライブラリ読み込み require_once("Smarty.class.php"); $smarty = new Smarty; $smarty- assign( title , タイトル ); $smarty- assign( name , お名前 ); $smarty- display( sample.tpl ); ? [sample.tplの内容] html head title {$title} /title /head body 名前:{$name} /body /html http //localhost/SmartyTest/index.php にアクセス。エラー出なければOK。 Smarty セットアップ用のクラスを作成 Smartyを使うときに毎回「require_once("Smarty.class.php");」やら「$smarty- template_dir = "xxxx";」やら書くのは効率が悪いので、専用のSmarty設定クラスを作成する。 [SmartySetup.php] ?php require_once("Smarty.class.php"); class SmartySetup extends Smarty { public function __construct() { $this- Smarty(); //Smartyで用いるディレクトリの設定 $this- template_dir = "c /xxxx/templates/"; $this- compile_dir = "c /xxxx/templates_c/"; $this- config_dir = "c /xxxx/config/"; $this- cache_dir = "c /xxxx/cache/"; } } ? 使うときは以下のようにする。ちょっとだけ書くのが楽。 [index.php] ?php require_once("SmartySetup.php"); $smarty = new SmartySetup; $smarty- display("index.tpl"); ? Smarty セットアップ用のクラスを作成その2 [SmartySetup.php] ?php require_once("Smarty.class.php"); class SmartySetup extends Smarty { public function __construct($smarty_data = array(), $tpl_name) { $this- Smarty(); // 設定 $this- template_dir = "smarty/template"; $this- compile_dir = "smarty/template_c"; $this- config_dir = "smarty/config"; $this- cache_dir = "smarty/cache"; $this- caching = 0; // キャッシュ無効 1で有効 // テンプレート文字化け対策用プリフィルタとポストフィルタ $this- register_prefilter(array($this, pre1 )); $this- register_postfilter(array($this, post1 )); // データをアサインしてテンプレートを表示 $this- assign($smarty_data); $this- display($tpl_name); // アサインしたデータを破棄 $this- clear_all_assign(); } // プリフィルタ public function pre1($tpl_source, $smarty) { return mb_convert_encoding($tpl_source,"EUC-JP","SJIS"); } // ポストフィルタ public function post1($tpl_source, $smarty) { return mb_convert_encoding($tpl_source,"SJIS","EUC-JP"); } } ? 使うときは以下のようなかんじ [index.php] ?php require_once("SmartySetup.php"); $data = array( "data1"= "ほげー" ,"data2"= "ほげほげー" ); $tpl = "index.tpl"; $smarty = new SmartySetup($data, $tpl); ? [index.tpl] html head title index /title /head body データその1:{$data1} br データその2:{$data2} br /body /html index.phpにアクセスして以下のように表示されるはず(未検証) データその1:ほげー データその2:ほげほげー Shift_JISでテンプレート作成時に文字化け sjisでテンプレートファイルを作成したら、「施設」という文字でエラーになった。回避策は{literal}で囲う。(sjisで作らないことが一番の回避策?) {literal}施設{/literal} Smartyのプリフィルタとポストフィルタを使えばいちいち{literal}で囲わなくてもOKだけど、やや強引な感は否めない... function pre01($buff, $smarty) { return mb_convert_encoding($buff,"EUC-JP","SJIS"); } function post01($buff, $smarty) { return mb_convert_encoding($buff,"SJIS","EUC-JP"); } $smarty = new Smarty; $smarty- register_prefilter( pre01 ); $smarty- register_postfilter( post01 ); $smarty- display( index.tpl ); {html_options}でlabel属性がついてしまう label属性を削除するには、smartyフォルダ/plugins/function.html_options.phpの99行目を以下のように修正。 $_html_result = option value=" . smartyの関数メモ URLエンコード {$text|escape url } スペースやタブを削除 {strip}{/strip}で囲う デバッグ {debug} (別ウインドウでデバッグウインドウが立ち上がる) 中括弧を表示させる 右側中括弧 {rdelim} 左側中括弧 {ldelim} サーバにアップしたら画面が表示されないエラー PHP+smartyを用いてローカル環境で開発していたものをサーバにそのままアップするとエラーが出て画面が表示されない場合がある。サーバにアップした際に以下の操作をしておけば大体大丈夫? smartyコンパイルディレクトリ内ファイル(template_c以下)を全部削除 smartyキャッシュディレクトリ内ファイル(cache以下)を全部削除 smartyのtemplate_c、cache、configディレクトリの権限を777
https://w.atwiki.jp/freebsd7/pages/19.html
Smartyとは Smartyとは、PHPプログラミングにおいて、ロジックとデザインを分離して 開発ができる便利な手法(?)です。 例えば、普通のASPで作成したページは、 htmlの中にVBコードをガンガンに書いていき、1つのhtml(asp)ファイルで動作します。 また、普通にPHPでソースを書く際も同じです。 この方法だと視認性が悪く、デザインと分離できないため、 html部分だけをデザイナーに頼んで作ってもらうと言うことができません。 そこで、htmlとソースコードを別々に管理して 切り離しができるようにするのがSmartyの役目です。 Smartyのインストール 設定 プログラミング http //www13.plala.or.jp/naka_jima/php/chapter10.html http //sky.freespace.jp/smarty/SmartyManual_2-6-6J_html/ http //ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8%A5%A8%A5%F3%A5%B8%A5%F3%A1%CASmarty%A1%CB_PHP ↓ ↓ ↓ ↓ ↓ ↓ 以下、広告です。↓ ↓ ↓ ↓ ↓ ↓